package com.tsintergy.tmosguide.casemng.serviceapi.em.pojo;

        import javax.persistence.*;
        import java.util.Date;
        import java.math.BigDecimal;
        import java.util.List;
        import io.swagger.annotations.*;
        import com.tsieframework.core.base.dao.BaseDO;
        import org.hibernate.annotations.GenericGenerator;
        import org.hibernate.annotations.Columns;
        import org.hibernate.annotations.Type;
        import com.tsieframework.core.base.domain.period.DataPointListMetaDO;
        import com.tsieframework.core.base.dao.type.DataPointListMeta;
        import com.tsieframework.core.base.dao.type.TsieCustomType;


/**
 * 抽象实体模型定义
 * @auther: longyz@tsintergy.com
 * @date: 2025/7/13
 */
@Entity
@Table(name="CMG_EM_UNIT_POWER_FC")
@ApiModel(description = "机组计划出力表")
public class CmgEmUnitPowerFcDO implements BaseDO, DataPointListMetaDO{
    /** 主键;主键 */
    private String id ;
    /** 案例ID; */
    private String caseId ;
    /** 创建时间;创建时间 */
    private Date createTime ;
    /** 更新日期;更新时间 */
    private Date updateTime ;
    /** 操作人 */
    private String operator ;
    /** 日期;日期 */
    private Date date ;
    /** 机组ID;机组ID */
    private String unitId ;
    /** 机组;机组 */
    private String unitName ;
    /** 数据点配置 */
    private DataPointListMeta tvMeta ;
    /** 分时段数据;分时段数据，保存96时段或288时段的数字，空值用null表示，每个数值以逗号分隔，如：[1,1,1,null,null,1…] */
    private List<BigDecimal> tvPower ;

    /** 主键;主键 */
    @ApiModelProperty(value = "主键")
    @Column(name = "ID")
    @Id
    @GenericGenerator(name = DEFAULT_GENERATOR, strategy = DEFAULT_STRATEGY)
    @GeneratedValue(generator = DEFAULT_GENERATOR)
    public String getId(){
        return this.id;
    }

    /** 主键;主键 */
    public void setId(String id){
        this.id = id;
    }

    /** 案例ID; */
    @ApiModelProperty(value = "案例ID")
    @Column(name = "CASE_ID")
    public String getCaseId(){
        return this.caseId;
    }

    /** 案例ID; */
    public void setCaseId(String caseId){
        this.caseId = caseId;
    }

    /** 创建时间;创建时间 */
    @ApiModelProperty(value = "创建时间")
    @Column(name = "CREATE_TIME")
    public Date getCreateTime(){
        return this.createTime;
    }

    /** 创建时间;创建时间 */
    public void setCreateTime(Date createTime){
        this.createTime = createTime;
    }

    /** 更新日期;更新时间 */
    @ApiModelProperty(value = "更新日期")
    @Column(name = "UPDATE_TIME")
    public Date getUpdateTime(){
        return this.updateTime;
    }

    /** 更新日期;更新时间 */
    public void setUpdateTime(Date updateTime){
        this.updateTime = updateTime;
    }

    /** 操作人 */
    @ApiModelProperty(value = "操作人")
    @Column(name = "OPERATOR")
    public String getOperator(){
        return this.operator;
    }

    /** 操作人 */
    public void setOperator(String operator){
        this.operator = operator;
    }

    /** 日期;日期 */
    @ApiModelProperty(value = "日期")
    @Column(name = "DATE")
    public Date getDate(){
        return this.date;
    }

    /** 日期;日期 */
    public void setDate(Date date){
        this.date = date;
    }

    /** 机组ID;机组ID */
    @ApiModelProperty(value = "机组ID")
    @Column(name = "UNIT_ID")
    public String getUnitId(){
        return this.unitId;
    }

    /** 机组ID;机组ID */
    public void setUnitId(String unitId){
        this.unitId = unitId;
    }

    /** 机组;机组 */
    @ApiModelProperty(value = "机组")
    @Column(name = "UNIT_NAME")
    public String getUnitName(){
        return this.unitName;
    }

    /** 机组;机组 */
    public void setUnitName(String unitName){
        this.unitName = unitName;
    }

    /** 数据点配置 */
    @ApiModelProperty(value = "数据点配置")
    @Type(type = TsieCustomType.CustomCollectionType.DataPointListMetaType)
    @Columns(columns = {
            @Column(name = "T_START_TIME"),
            @Column(name = "T_SIZE"),
            @Column(name = "T_DELTA"),
            @Column(name = "T_DELTA_UNIT")
    })
    public DataPointListMeta getTvMeta(){
        return this.tvMeta;
    }

    /** 数据点配置 */
    public void setTvMeta(DataPointListMeta tvMeta){
        this.tvMeta = tvMeta;
    }

    /** 分时段数据;分时段数据，保存96时段或288时段的数字，空值用null表示，每个数值以逗号分隔，如：[1,1,1,null,null,1…] */
    @ApiModelProperty(value = "分时段数据")
    @Column(name = "TV_POWER")
    @Type(type = TsieCustomType.CustomCollectionType.BigDecimalListType)
    public List<BigDecimal> getTvPower(){
        return this.tvPower;
    }

    /** 分时段数据;分时段数据，保存96时段或288时段的数字，空值用null表示，每个数值以逗号分隔，如：[1,1,1,null,null,1…] */
    public void setTvPower(List<BigDecimal> tvPower){
        this.tvPower = tvPower;
    }

}


